/**
 * @param {number} n
 * @return {number}
 */
var nthUglyNumber = function (n) {
  let arr = [1];
  let map = new Map();
  let index = 1;
  while (index <= n) {
    let num1 = 2 * index,
      num2 = 3 * index,
      num3 = 5 * index;
    if (!map.has(num1)) {
      arr.push(num1);
      map.set(num1, 1);
    }

    if (!map.has(num2)) {
      arr.push(num2);
      map.set(num2, 1);
    }

    if (!map.has(num3)) {
      arr.push(num3);
      map.set(num3, 1);
    }
    index++;
  }
  arr.sort((a, b) => a - b);
  console.log(arr);
  return arr[n - 1];
};
